package cn.topevery.garden.entity.po;

import cn.topevery.garden.framework.base.BaseEntity;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.enums.DbTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.alibaba.fastjson.annotation.JSONField;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.math.BigDecimal;
import org.locationtech.jts.geom.Geometry;
import lombok.Data;
import cn.topevery.garden.entity.serializer.GeometrySerializer;

/**
 * 
 *
 * @author code-generate
 * @date 2022-10-10
 */
@Data
@DbTable(tableName = "t_gps_pos_trace_local")
public class GpsPosTraceLocal extends BaseEntity {
        /**
     * 
     */
    @DbTableField(columnName = "c_fid", dbType = DbTypeEnum.BIGINT)
    public Long fid ;

    /**
     * 
     */
    @DbTableField(columnName = "c_client_key", dbType = DbTypeEnum.VARCHAR)
    public String clientKey ;

    /**
     * 
     */
    @DbTableField(columnName = "c_client_ip", dbType = DbTypeEnum.VARCHAR)
    public String clientIp ;

    /**
     * 
     */
    @DbTableField(columnName = "c_client_port", dbType = DbTypeEnum.INTEGER)
    public Integer clientIpPort ;

    /**
     * 
     */
    @DbTableField(columnName = "c_gps_date", dbType = DbTypeEnum.TIMESTAMP)
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    public LocalDateTime gpsDate ;

    /**
     * 
     */
    @DbTableField(columnName = "c_long", dbType = DbTypeEnum.DOUBLE)
    public Double lng ;

    /**
     * 
     */
    @DbTableField(columnName = "c_lat", dbType = DbTypeEnum.DOUBLE)
    public Double lat ;

    /**
     * 
     */
    @DbTableField(columnName = "c_abs_y", dbType = DbTypeEnum.DOUBLE)
    public Double absY ;

    /**
     * 
     */
    @DbTableField(columnName = "c_abs_x", dbType = DbTypeEnum.DOUBLE)
    public Double absX ;

    /**
     * 
     */
    @DbTableField(columnName = "c_speed", dbType = DbTypeEnum.FLOAT)
    public Float speed ;

    /**
     * 
     */
    @DbTableField(columnName = "c_degree", dbType = DbTypeEnum.FLOAT)
    public Float degree ;

    /**
     * 
     */
    @DbTableField(columnName = "c_star_number", dbType = DbTypeEnum.INTEGER)
    public Integer starNumber ;

    /**
     * 
     */
    @DbTableField(columnName = "c_is_insert_trace", dbType = DbTypeEnum.TINYINT)
    public Byte isInsertTrace ;

    /**
     * 
     */
    @DbTableField(columnName = "c_outputvalue1", dbType = DbTypeEnum.TINYINT)
    public Byte outputvalue1 ;

    /**
     * 
     */
    @DbTableField(columnName = "c_outputvalue2", dbType = DbTypeEnum.TINYINT)
    public Byte outputvalue2 ;

    /**
     * 
     */
    @DbTableField(columnName = "c_client_status", dbType = DbTypeEnum.SMALLINT)
    public Short clientStatus ;

    /**
     * 
     */
    @DbTableField(columnName = "c_voltage_level", dbType = DbTypeEnum.SMALLINT)
    public Short voltageLevel ;

    /**
     * 
     */
    @DbTableField(columnName = "c_gsm_signal_intensity", dbType = DbTypeEnum.SMALLINT)
    public Short gsmSignalIntensity ;

    /**
     * 
     */
    @DbTableField(columnName = "c_is_lbs_data", dbType = DbTypeEnum.INTEGER)
    public Integer isLbsData  = 0 ;

    /**
     * 
     */
    @DbTableField(columnName = "c_up_model", dbType = DbTypeEnum.SMALLINT)
    public Short upModel ;

    /**
     * 
     */
    @DbTableField(columnName = "c_up_type", dbType = DbTypeEnum.SMALLINT)
    public Short upType ;

    /**
     * 
     */
    @DbTableField(columnName = "c_state", dbType = DbTypeEnum.INTEGER)
    public Integer state ;

    /**
     * 
     */
    @DbTableField(columnName = "c_alarm_flag", dbType = DbTypeEnum.INTEGER)
    public Integer alarmFlag ;

    /**
     * 
     */
    @DbTableField(columnName = "c_acc_state", dbType = DbTypeEnum.SMALLINT)
    public boolean accState ;

    /**
     * 
     */
    @DbTableField(columnName = "c_power_state", dbType = DbTypeEnum.SMALLINT)
    public Short powerState ;

    /**
     * 
     */
    @DbTableField(columnName = "c_package_type", dbType = DbTypeEnum.INTEGER)
    public Integer packageType ;

    /**
     * 
     */
    @DbTableField(columnName = "c_service_ip", dbType = DbTypeEnum.VARCHAR)
    public String serviceIp ;

    /**
     * 
     */
    @DbTableField(columnName = "c_service_port", dbType = DbTypeEnum.INTEGER)
    public Integer servicePort ;

    /**
     * 
     */
    @DbTableField(columnName = "c_total_mileage", dbType = DbTypeEnum.INTEGER)
    public Integer totalMileage ;

    /**
     * 
     */
    @DbTableField(columnName = "c_level_ratio1", dbType = DbTypeEnum.FLOAT)
    public Float levelRatio1 ;

    /**
     * 
     */
    @DbTableField(columnName = "c_level_ratio2", dbType = DbTypeEnum.FLOAT)
    public Float levelRatio2 ;

    /**
     * 
     */
    @DbTableField(columnName = "c_gid", dbType = DbTypeEnum.BIGINT)
    public Long gid ;

    /**
     * 
     */
    @DbTableField(columnName = "c_oil_level", dbType = DbTypeEnum.FLOAT)
    public Float oilLevel ;

    /**
     * 
     */
    @DbTableField(columnName = "c_altitude", dbType = DbTypeEnum.INTEGER)
    public Integer altitude ;

    /**
     * 
     */
    @DbTableField(columnName = "c_oil_ratio", dbType = DbTypeEnum.FLOAT)
    public Float oilRatio ;

    /**
     * 
     */
    @DbTableField(columnName = "c_speed_src", dbType = DbTypeEnum.FLOAT)
    public Float speedSrc ;

    /**
     * 
     */
    @DbTableField(columnName = "c_hand_gps_weight", dbType = DbTypeEnum.FLOAT)
    public Float handGpsWeight ;

    /**
     * 
     */
    @DbTableField(columnName = "c_button_status", dbType = DbTypeEnum.TINYINT)
    public Byte buttonStatus ;

    /**
     * 
     */
    @DbTableField(columnName = "c_movement_state", dbType = DbTypeEnum.TINYINT)
    public Byte movementState ;



}
